<?

/**
 * Interface para Modulos do Framework. Todos os módulos devem implementar esta interface.
 * Para criar módulos você deve implementar esta interface ou herdar de BaseModule que já implementa todas os métodos necessários.
 *
 */
interface IController
{
	
	/**
	 * Método de configuração do módulo.
	 * Este é o primeiro método a ser chamado pela Engine.
	 *
	 * @param string $strModuleName
	 * @param mixed $customArgs
	 */
	function Setup();

	
	/**
	 * Check if current module requires authentication.
	 * Return True if module requires authentication. False, otherwise.
	 *
	 * @return bool
	 */
	function requiresAuthentication();
	

	/**
	 * Verify if user is Administrator
	 *
	 */
	function isAdmin();
}
?>